package com.hyt.it.ogt.kq.service.gov.model.vo.examiner;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.hyt.it.ogt.kq.service.gov.model.excel.convert.LocalDateTimeConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
@AllArgsConstructor
@Builder
@NoArgsConstructor
@Accessors
public class ProctorArrangeRoomVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "批次ID")
    @ExcelIgnore()
    private String timeId;

    @ApiModelProperty(value = "考场ID")
    @ExcelIgnore()
    private String roomId;

    @ApiModelProperty(value = "考点名称")
    @ExcelProperty(value = "考点名称")
    private String placeName;

    @ApiModelProperty(value = "考场名称")
    @ExcelProperty(value = "考场名称")
    private String roomName;

    @ApiModelProperty(value = "考试科目")
    @ExcelProperty(value = "考试科目")
    private String subjectStr;

    @ApiModelProperty(value = "所属机构")
    @ExcelProperty(value = "所属机构")
    private String dept;

    @ApiModelProperty(value = "批次名称")
    @ExcelProperty(value = "批次名称")
    private String timeName;

    @ApiModelProperty(value = "批次开始时间")
    @ExcelProperty(value = "批次开始时间", converter = LocalDateTimeConverter.class)
    private LocalDateTime startTime;

    @ApiModelProperty(value = "批次结束时间")
    @ExcelProperty(value = "批次结束时间", converter = LocalDateTimeConverter.class)
    private LocalDateTime endTime;

    @ApiModelProperty(value = "考生数量")
    @ExcelProperty(value = "考生数量")
    private int candidateNum;

    @ApiModelProperty(value = "已绑定监考员列表")
    @ExcelIgnore()
    private List<ProctorCommonResponseTemplateVO> proctorList;

    @ApiModelProperty(value = "监考员", hidden = true)
    @ExcelProperty(value = "监考员")
    private String proctorNames;

    @ApiModelProperty(value = "考场类型", hidden = true)
    @ExcelIgnore()
    private String roomType;

    @ApiModelProperty(value = "考场名称")
    @ExcelIgnore()
    private String roomTypeName;
}


